

const MyPromise = require('./io2')

let promise = new MyPromise((resolve,reject)=>{

  resolve('成功')
  //reject('')

})

// //then
// promise.then(value=>{
//   console.log(value)
// },reason=>{
//
// })
//
// function other(){
//   return new MyPromise((resolve, reject)=>{
//     resolve('other');
//   })
// }
//
// promise.then(value=>{
//   console.log(value)
//   return other()
// },reason=>{
//
// }).then(value=>{
//   console.log(value)
// })
//
//
// function p1(){
//   return new MyPromise(function(res,rej){
//     setTimeout(()=>res('p1'),2000)
//   })
// }
//
// function p2(){
//   return new MyPromise(function(res,rej){
//     res('p2')
//   })
// }
//
// //all
// MyPromise.all(['a','b',p1(),p2(),'c']).then(res=>console.log(res))
//
//
// //finally
// function p3(){
//   return new MyPromise(function(res,rej){
//     res('Hello')
//   })
// }
//
// p3().finally(()=>{
//   console.log('finally')
// }).then(value=>console.log(value),reason=>console.log(reason));
//
//
// //resolve
// MyPromise.resolve(100).then(value=>console.log(value));
// MyPromise.resolve(p3()).then(value=>console.log(value));

//catch
function p5(){
  return new MyPromise(function(resolve,reject){
    reject('Hello')
  })
}

p5()
  // .then(value=>console.log(value))
  .catch(reason=>console.log(reason));
